#include "headfile.h"
#include "BasicFun.h"



//================================================================//
//  @brief  :		识别停车线
//  @param  :		void
//  @return :		1停车线  0非停车线
//  @note   :		void
//================================================================//
int ImgIsStopLine(int line, int left, int right)
{
	int count = 0;
	for (int i = left + 1; i < right; )
	{
		i = SearchRightEdge(line, i);
		i = SearchRightNoEdge(line, i);
		count++;
		if (count > 6 && RegionAveGray(DOWN_EDGE - 2, LL[DOWN_EDGE - 2], RL[DOWN_EDGE - 2]) 
			- RegionAveGray(line, left, right) > BrightThreshold)
                  return 1;
	}
	return 0;
}
//================================================================//
//  @brief  :		识别停车线以及距离
//  @param  :		void
//  @return :		1停车线  0非停车线
//  @note   :		void
//================================================================//
int DistStopLine(int line)
{
	int a = ImgIsStopLine(line, LL[line], RL[line]);
	line += 2;
	int b = ImgIsStopLine(line, LL[line], RL[line]);
	line += 2;
	int c = ImgIsStopLine(line, LL[line], RL[line]);
	if (a || b || c)return 1;
	else return 0;
}

//================================================================//
//  @brief  :		识别停车
//  @param  :		void 
//  @return :		void
//  @note   :		void
//================================================================//
void ImgJudgeStopLine(void)
{

	if (Img_StopOpen && !Img_SpecialElemFlag
		&& LeftIntLine < UP_EDGE + 10 && RightIntLine < UP_EDGE + 10
		&& LeftPnt.ErrRow <= UP_EDGE + 8 && RightPnt.ErrRow <= UP_EDGE + 8
		&& !Img_StopLineFlag && DistStopLine(UP_EDGE + 8)&&!Get_StopLine)
	{
		if(rount==1)
		{
			rount=2;
			Get_StopLine=1;

		}
		else
		{
			Img_StopLineFlag = 1;
			Img_SpecialElemFlag = 1;
//			Garage_In_Open=1;
//			g_stop_dis=1;
//			GarageIn_Act();

		}
	}

}